import axios from "axios";
import { ElMessage }  from 'element-plus';
import router from '@/router'
// 创建request实例
const request = axios.create({
  baseURL: "/api",
  timeout: 600000
});



// 添加请求拦截器
request.interceptors.request.use(function (config) {
  // 在发送请求之前添加令牌
  //从localStorage里用户信息中的token令牌， getItem
  const loginStr = localStorage.getItem("loginInfo");
  if (loginStr) {
      //loginStr:是json格式的字符串,而不是json对象(js对象)，需要转换为json对象.JSON.parse(json格式的字符串)
      const loginInfo = JSON.parse(loginStr);
      config.headers.token = loginInfo.token;
  }
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

//处理axios的响应结果
request.interceptors.response.use(function (response) {
  return response.data;
}, function (error
) {
  //如果状态码是401就重新登录
  if(error.response.status==401){
    //弹窗提示
    ElMessage.error("请重新登录")
    //跳转到登录页面
    router.push("/login");

  }
  return Promise.reject(error);
});

export default request;